//package com.mpsc.current.unit;
//
//
//import org.springframework.util.CollectionUtils;
//
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileReader;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
//public class JsoupUtil {
//    public static String DocxPtah = "D:/test/测试docx.docx";
//    public static String HTML = ".html";
//    public static String CSS = "_styles.css";
//    public static String PICTURE_SUFFIX = "_images";
//
//    public static void main(String[] args) throws IOException {
//        //1、将docx文件转化为html文件
//        SpireUtil.DocxToHtml(DocxPtah);
//
//        //2、解析转化之后的html
//        String fileName = DocxPtah.substring(0, DocxPtah.lastIndexOf("."));
//        String htmlPath = fileName + HTML;
//        Document document = pareHtml(htmlPath);
//        //3.读取解析后html文件css样式
//        String cssPath = fileName + CSS;
//        String cssStr = readCssStr(cssPath);
//        //4、将css文件内容加入到html的head标签中
//        addHeadCss(cssStr, document);
//        //5、移除html <head>标签中的link
//        File cssFile = new File(cssPath);
//        String cssName = cssFile.getName();
//        String query = "link[href=" + cssName + "]";
//        document.head().children().select(query).remove();
//        // document.head().children().select("link[href=\"测试docx_styles.css\"]").remove();
//        //6、读取指定路径下图片信息
//        String picturePath = fileName + PICTURE_SUFFIX;
//        File pictureFile = new File(picturePath);
//        List<File> pictureFileList = new ArrayList(Arrays.asList(pictureFile.listFiles()));
//
//        //7、替换标签的图片的地址
//        replaceImgUrl("d:/test", document, pictureFileList);
//        System.out.println(document.toString());
//    }
//
//
//    /**
//     * 解析html
//     *
//     * @param htmlPath html文件全路径
//     */
//    public static Document pareHtml(String htmlPath) throws IOException {
//        File input = new File(htmlPath);
//        Document document = Jsoup.parse(input, "UTF-8", htmlPath);
//        return document;
//    }
//
//    /**
//     * 读取css文件内容
//     *
//     * @param cssPath css文件路径
//     * @return css文件内容
//     */
//    public static String readCssStr(String cssPath) throws IOException {
//        StringBuffer result = new StringBuffer();
//        BufferedReader in = new BufferedReader(new FileReader(cssPath));
//        String str;
//        while ((str = in.readLine()) != null) {
//            result.append(str);
//        }
//        return result.toString();
//    }
//
//    /**
//     * head标签中添加css标签
//     *
//     * @param cssStr   css样式
//     * @param document html-document
//     */
//    public static void addHeadCss(String cssStr, Document document) {
//        Element styleDoc = new Element("style");
//        styleDoc.attr("type", "text/css");
//        styleDoc.appendText(cssStr);
//        document.head().appendChild(styleDoc);
//    }
//
//    /**
//     * head标签中添加css标签
//     *
//     * @param picturePath css样式
//     * @param document    html-document
//     */
//    public static void replaceImgUrl(String picturePath, Document document, List<File> pictureFiles) {
//        Elements pictureList = document.getElementsByTag("img");
//       // Map<String, File> pictureMap = pictureFiles.stream().filter(File::isFile).collect(Collectors.toMap(File::getName, file -> file));
//        if (!CollectionUtils.isEmpty(pictureList)) {
//            //<img src="测试docx_images/测试docx_img2.png" width="354" height="343" alt="1649909877(1)">
//            for (Element picture : pictureList) {
//                String link = picture.attr("src");
//                //String picture
//                if (link.contains("测试docx_img2.png")) {
//                    picture.attr("src", "测试替换图片属性");
//                }
//            }
//        }
//    }
//}
